package opensearch_remote

type GetRadarListRequest struct {
	AreaCode       []string `json:"area_code"`
	BidKeyword     []string `json:"bid_keyword"`
	WinbidKeyword  []string `json:"winbid_keyword"`
	ExcludeKeyword []string `json:"exclude_keyword"`
	IsSaleOpen     int32    `json:"is_sale_open"`
	BuildingType   []string `json:"building_type"`
	SaleType       []string `json:"sale_type"`
	LandUsageLabel []string `json:"land_usage_label"`
	ProjectKeyword []string `json:"project_keyword"`
	StartTime      string   `json:"start_time"`
	EndTime        string   `json:"end_time"`
	DataType       []string `json:"data_type"`
	Page           int32    `json:"page"`
	PageSize       int32    `json:"page_size"`
	IsBuildingOpen int32    `json:"is_building_open"`
	IsLandOpen     int32    `json:"is_land_open"`
}

type GetRadarListResponse struct {
	Success   bool              `json:"success"`
	Message   interface{}       `json:"message"`
	ErrorCode interface{}       `json:"errorCode"`
	Data      *GetRadarListData `json:"data"`
}

type Location struct {
	CityName     string `json:"city_name"`
	CityCode     string `json:"city_code"`
	ProvinceCode string `json:"province_code"`
	ProvinceName string `json:"province_name"`
}

type LandUsageLabelItem struct {
	Name string `json:"name"`
}

type RadarItem struct {
	HasMobile               int32                 `json:"has_mobile"`
	DeveloperName           string                `json:"developer_name"`
	Title                   string                `json:"title"`
	SupplierContactNum      int32                 `json:"supplier_contact_num"`
	IsPriceGtAvg            string                `json:"is_price_gt_avg"`
	PulsarTime              string                `json:"pulsar_time"`
	Suppliers               string                `json:"suppliers"`
	FitmentFeeLabel         string                `json:"fitment_fee_label"`
	Id                      string                `json:"id"`
	ProjectTypeLabel        string                `json:"project_type_label"`
	DeveloperContactNum     int32                 `json:"developer_contact_num"`
	DeveloperCoopContactNum int32                 `json:"developer_coop_contact_num"`
	DeveloperOrganizingCode string                `json:"developer_organizing_code"`
	OrderDate               string                `json:"order_date"`
	OpeningDate             string                `json:"opening_date"`
	LandUsageLabel          []*LandUsageLabelItem `json:"land_usage_label"`
	DataType                string                `json:"data_type"`
	BidSource               string                `json:"bid_source"`
	Locations               []*Location           `json:"locations"`
	PublishDate             string                `json:"publish_date"`
	TakeLandDate            string                `json:"take_land_date"`
	ProjectPlanBeginDate    string                `json:"project_plan_begin_date"`
	ProjectPlanEndDate      string                `json:"project_plan_end_date"`
	ProjectRealityBeginDate string                `json:"project_reality_begin_date"`
	ProjectRealityEndDate   string                `json:"project_reality_end_date"`
	IsNew                   int32                 `json:"is_new"`
	PersonInChargeBidding   string                `json:"person_in_charge_bidding"` //招标负责人信息，json字符串
}

type GetRadarListData struct {
	Total    int32        `json:"total"`
	List     []*RadarItem `json:"list"`
	NewTotal int32        `json:"new_total"`
}

type GetRadarContactRequest struct {
	CompanyName       []string `json:"company_name"`
	SubscriptAreaCode []string `json:"subscript_area_code"`
	BidKeyword        []string `json:"bid_keyword"`
	IsDeveloper       int32    `json:"is_developer"`
	IsSupplier        int32    `json:"is_supplier"`
}

type GetRadarContactResponse struct {
	Success   bool                   `json:"success"`
	Message   interface{}            `json:"message"`
	ErrorCode interface{}            `json:"errorCode"`
	Data      []*GetRadarContactData `json:"data"`
}

type GetRadarContactData struct {
	CooperationCnt int    `json:"cooperation_cnt"`
	PhoneType      string `json:"phone_type"`
	OrganizingCode string `json:"organizing_code"`
	IsSupplier     int    `json:"is_supplier"`
	PulsarTime     string `json:"pulsar_time"`
	DataTime       string `json:"data_time"`
	CompanyName    string `json:"company_name"`
	Name           string `json:"name"`
	PhoneNumber    string `json:"phone_number"`
	Id             string `json:"id"`
	Position       string `json:"position"`
	SourceId       string `json:"source_id"`
	BiddingCnt     int    `json:"bidding_cnt"`
	Email          string `json:"email"`
	IsDeveloper    int    `json:"is_developer"`
	Cooperation    []struct {
		CooperationTime           string `json:"cooperation_time"`
		Province                  string `json:"province"`
		City                      string `json:"city"`
		CooperationCompanyName    string `json:"cooperation_company_name"`
		CityCode                  string `json:"city_code"`
		SourceType                string `json:"source_type"`
		SourceId                  string `json:"source_id"`
		CooperationOrganizingCode string `json:"cooperation_organizing_code"`
		Title                     string `json:"title"`
		ProvinceCode              string `json:"province_code"`
		Category                  string `json:"category"`
	} `json:"cooperation"`
	IsRecommend int32 `json:"is_recommend"`
	ViewTimes   int32 `json:"-"`
}

// GetContactListRequest 获取省市雷达联系人请求参数
type GetContactListRequest struct {
	Id                    string `json:"id"`
	CompanyName           string `json:"company_name"`
	OrganizingCode        string `json:"organizing_code"`
	CurrentCompanyName    string `json:"current_company_name"`
	CurrentOrganizingCode string `json:"current_organizing_code"`
	SubscriptProvinceCode string `json:"subscript_province_code"`
	SubscriptCityCode     string `json:"subscript_city_code"`
	IsDeveloper           int    `json:"is_developer"`
	IsSupplier            int    `json:"is_supplier"`
	BidKeyword            string `json:"bid_keyword"`
	SearchKeyword         string `json:"search_keyword"`
	PhoneType             string `json:"phone_type"`
	BidOwnerMobile        string `json:"bid_owner_mobile"`
	ProvinceCode          string `json:"province_code"`
	CityCode              string `json:"city_code"`
	AreaCode              string `json:"area_code"`
	ScoreWeight           string `json:"score_weight"`
	Page                  int32  `json:"page"`
	PageSize              int32  `json:"page_size"`
}

type ContactItem struct {
	PulsarTime              string `json:"pulsar_time"`
	Id                      string `json:"id"`
	PhoneNumber             string `json:"phone_number"`
	PhoneType               string `json:"phone_type"`
	Name                    string `json:"name"`
	CompanyName             string `json:"company_name"`
	OrganizingCode          string `json:"organizing_code"`
	Position                string `json:"position"`
	Email                   string `json:"email"`
	DataTime                string `json:"data_time"`
	IsSupplier              int32  `json:"is_supplier"`
	IsDeveloper             int32  `json:"is_developer"`
	CooperationCnt          int32  `json:"cooperation_cnt"`
	CooperationSubscriptCnt int32  `json:"cooperation_subscript_cnt"`
	BiddingCnt              int32  `json:"bidding_cnt"`
	BiddingSubscriptCnt     int32  `json:"bidding_subscript_cnt"`
	IsRecommend             int32  `json:"is_recommend"`
	PurchaseOwner           string `json:"purchase_owner"`
	SourceId                string `json:"source_id"`
	Cooperation             []struct {
		Title                     string `json:"title"`
		CooperationCompanyName    string `json:"cooperation_company_name"`
		CooperationOrganizingCode string `json:"cooperation_organizing_code"`
		SourceId                  string `json:"source_id"`
		Province                  string `json:"province"`
		ProvinceCode              string `json:"province_code"`
		City                      string `json:"city"`
		CityCode                  string `json:"city_code"`
		CooperationTime           string `json:"cooperation_time"`
		Category                  string `json:"category"`
		SourceType                string `json:"source_type"`
		Weight                    int32  `json:"weight"`
		TitleHL                   string `json:"titleHL"`
	} `json:"cooperation"`
	NameHL             string `json:"nameHL"`
	CompanyNameHL      string `json:"company_nameHL"`
	CooperationTitleHL string `json:"cooperation.titleHL"`
	Score              int32  `json:"_score"`
	ViewTimes          int32  `json:"view_times"`
}

type GetContactListData struct {
	Total int32          `json:"total"`
	List  []*ContactItem `json:"list"`
}

type GetContactListResponse struct {
	Success   bool                `json:"success"`
	Message   interface{}         `json:"message"`
	ErrorCode interface{}         `json:"errorCode"`
	Data      *GetContactListData `json:"data"`
}

type GetCustomerScoreRequest struct {
	OrganizingCode          string `json:"organizing_code"`
	SubscriptionLandUsage   string `json:"subscription_land_usage"`
	SubscriptionProjectType string `json:"subscription_project_type"`
}

type GetCustomerScoreResponse struct {
	Success   bool                    `json:"success"`
	Message   interface{}             `json:"message"`
	ErrorCode interface{}             `json:"errorCode"`
	Data      []*GetCustomerScoreData `json:"data"`
}

type GetCustomerScoreData struct {
	OrganizingCode              string  `json:"organizing_code"`
	DeveloperScore              float32 `json:"developer_score"`
	MatchRequirementModuleScore float32 `json:"match_requirement_module_score"`
	MatchRequirementLandCtn     int32   `json:"match_requirement_land_ctn"`
	MatchRequirementProjectCtn  int32   `json:"match_requirement_project_ctn"`
}

type GetCooperationListRequest struct {
	CompanyList           []CooperationListCompany `json:"company_list"`
	CurrentCompanyName    string                   `json:"current_company_name"`
	CurrentOrganizingCode string                   `json:"current_organizing_code"`
	SubscriptProvinceCode string                   `json:"subscript_province_code"`
	SubscriptCityCode     string                   `json:"subscript_city_code"`
	IsDeveloper           int                      `json:"is_developer"`
	IsSupplier            int                      `json:"is_supplier"`
	BidKeyword            string                   `json:"bid_keyword"`
	SupplierKeyword       string                   `json:"supplier_keyword"`
	SearchKeyword         string                   `json:"search_keyword"`
	PhoneType             string                   `json:"phone_type"`
	BidOwnerMobile        string                   `json:"bid_owner_mobile"`
	ProvinceCode          string                   `json:"province_code"`
	CityCode              string                   `json:"city_code"`
	AreaCode              string                   `json:"area_code"`
	Page                  int32                    `json:"page"`
	PageSize              int32                    `json:"page_size"`
}

type CooperationListCompany struct {
	CompanyName    string `json:"company_name"`
	OrganizingCode string `json:"organizing_code"`
}

type GetCooperationListResponse struct {
	Success   bool                    `json:"success"`
	Message   string                  `json:"message"`
	ErrorCode string                  `json:"errorCode"`
	Data      *GetCooperationListData `json:"data"`
}

type GetCooperationListData struct {
	Total int32                     `json:"total"`
	List  []*CooperationCompanyList `json:"list"`
}

type CooperationCompanyList struct {
	CooperationCompanyName    string             `json:"cooperation_company_name"`
	CooperationOrganizingCode string             `json:"cooperation_organizing_code"`
	LastCooperationTime       string             `json:"last_cooperation_time"`
	CooperationCnt            int32              `json:"cooperation_cnt"`
	ContactCnt                int32              `json:"contact_cnt"`
	DocCount                  int32              `json:"doc_count"`
	XMaxScore                 int32              `json:"_max_score"`
	Contact                   []*ContactDataList `json:"contact"`
	CompanyType               string             `json:"company_type"`
}

type ContactDataList struct {
	PulsarTime              string             `json:"pulsar_time"`
	Id                      string             `json:"id"`
	DataTime                string             `json:"data_time"`
	CompanyName             string             `json:"company_name"`
	Name                    string             `json:"name"`
	OrganizingCode          string             `json:"organizing_code"`
	PhoneNumber             string             `json:"phone_number"`
	Position                string             `json:"position"`
	PurchaseOwner           string             `json:"purchase_owner"`
	SourceId                string             `json:"source_id"`
	IsSupplier              int32              `json:"is_supplier"`
	Email                   string             `json:"email"`
	IsDeveloper             int32              `json:"is_developer"`
	IsRecommend             int32              `json:"is_recommend"`
	CooperationCnt          int32              `json:"cooperation_cnt"`
	CooperationSubscriptCnt int32              `json:"cooperation_subscript_cnt"`
	BiddingCnt              int32              `json:"bidding_cnt"`
	BiddingSubscriptCnt     int32              `json:"bidding_subscript_cnt"`
	LastCooperationTime     string             `json:"last_cooperation_time"`
	ViewTimes               int32              `json:"view_times"`
	NameHL                  string             `json:"name_hl"`
	CompanyNameHL           string             `json:"company_name_hl"`
	CooperationTitleHL      string             `json:"cooperation_title_hl"`
	XScore                  int32              `json:"_score"`
	Cooperation             []*CooperationList `json:"cooperation"`
}

type CooperationList struct {
	Title                     string `json:"title"`
	SourceId                  string `json:"source_id"`
	CooperationCompanyName    string `json:"cooperation_company_name"`
	CooperationOrganizingCode string `json:"cooperation_organizing_code"`
	Province                  string `json:"province"`
	ProvinceCode              string `json:"province_code"`
	City                      string `json:"city"`
	CityCode                  string `json:"city_code"`
	CooperationTime           string `json:"cooperation_time"`
	Category                  string `json:"category"`
	SourceType                string `json:"source_type"`
	Weight                    int32  `json:"weight"`
	CompanyName               string `json:"company_name"`
	OrganizingCode            string `json:"organizing_code"`
	TitleHL                   string `json:"title_hl"`
}

type GetCustomerDetailRequest struct {
	OrganizingCodes string `json:"organizing_codes"`
}

type GetCustomerDetailResponse struct {
	Success bool              `json:"success"`
	Message string            `json:"message"`
	Data    []*CustomerDetail `json:"data"`
	//ErrorCode string            `json:"errorCode"`
}

type GetCustomerListRequest struct {
	Keyword             string   `json:"keyword"`
	CompanyNameKeyword  string   `json:"company_name_keyword"`
	CompanyIdentity     []string `json:"company_identity"`
	CompanyArea         []string `json:"company_area"`
	CompanyLevel        []string `json:"company_level"`
	CompanyLabel        []string `json:"company_label"`
	CompanyType         []string `json:"company_type"`
	IndustryCategory    []string `json:"industry_category"`
	LandUsageLabel      []string `json:"land_usage_label"`
	ProjectTypeLabel    []string `json:"project_type_label"`
	FitmentFeeLabel     []string `json:"fitment_fee_label"`
	BiddingArea         []string `json:"bidding_area"`
	CreditLevel         []string `json:"credit_level"`
	ProjectProvinceCode string   `json:"project_province_code"`
	ProjectCityCode     string   `json:"project_city_code"`
	ProjectBeginDate    string   `json:"project_begin_date"`
	ProjectEndDate      string   `json:"project_end_date"`
	Page                int32    `json:"page"`
	PageSize            int32    `json:"page_size"`
}

type GetCustomerListResponse struct {
	Success   bool                 `json:"success"`
	Message   string               `json:"message"`
	ErrorCode string               `json:"errorCode"`
	Data      *GetCustomerListData `json:"data"`
}

type GetCustomerListData struct {
	Total int32             `json:"total"`
	List  []*CustomerDetail `json:"list"`
}

type CustomerLabel struct {
	Name string `json:"name"`
}

type CustomerDynamicItem struct {
	TypeName string `json:"type_name"`
	Date     string `json:"date"`
	Title    string `json:"title"`
}

type CustomerDetail struct {
	OrganizingCode           string  `json:"organizing_code"`
	CompanyName              string  `json:"company_name"`
	CompanyNameHL            string  `json:"company_nameHL"`
	CompanyType              string  `json:"company_type"`
	ShortName                string  `json:"short_name"`
	OldCompanyNameHL         string  `json:"old_name_arr.nameHL"`
	ProjectNameHL            string  `json:"project_arr.project_nameHL"`
	IsSupplier               int32   `json:"is_supplier"`
	IsDeveloper              int32   `json:"is_developer"`
	Province                 string  `json:"province"`
	City                     string  `json:"city"`
	ProvinceCode             string  `json:"province_code"`
	CityCode                 string  `json:"city_code"`
	TopCompanyName           string  `json:"top_company_name"`
	TopCompanyOrganizingCode string  `json:"top_company_organizing_code"`
	DeveloperId              string  `json:"developer_id"`
	DeveloperLogo            string  `json:"developer_logo"`
	BusinessStatusLabel      string  `json:"business_status_label"`
	LegalName                string  `json:"legal_name"`
	EstablishDate            string  `json:"establish_date"`
	RegistCapi               float64 `json:"regist_capi"`
	RegistCapiUnit           string  `json:"regist_capi_unit"`
	IndustryCategoryBig      string  `json:"industry_category_big"`
	IndustryCategoryMiddle   string  `json:"industry_category_middle"`
	IndustryCategorySmall    string  `json:"industry_category_small"`
	//OldNameArr               []CustomerLabel     `json:"old_name_arr"`
	CompanyLabelArr []CustomerLabel `json:"company_label_arr"`
	CompanyLevelArr []CustomerLabel `json:"company_level_arr"`
	//FitmentFeeLabelArr       []CustomerLabel     `json:"fitment_fee_label_arr"`
	LandUsageLabelArr               []CustomerLabel     `json:"land_usage_label_arr"`
	ProjectTypeLabelArr             []CustomerLabel     `json:"project_type_label_arr"`
	SellProjectCnt2Year             int32               `json:"sell_project_cnt_2year"`
	CommencePermitCnt2Year          int32               `json:"commence_permit_cnt_2year"`
	TakeLandCnt2Year                int32               `json:"take_land_cnt_2year"`
	CooperationCaseCnt2Year         int32               `json:"cooperation_case_cnt_2year"`
	BidCnt2Year                     int32               `json:"bid_cnt_2year"`
	SellProjectCnt1Year             int32               `json:"sell_project_cnt_1year"`
	CommencePermitCnt1Year          int32               `json:"commence_permit_cnt_1year"`
	TakeLandCnt1Year                int32               `json:"take_land_cnt_1year"`
	CooperationCaseCnt1Year         int32               `json:"cooperation_case_cnt_1year"`
	BidCnt1Year                     int32               `json:"bid_cnt_1year"`
	ContactNum                      int32               `json:"contact_num"`
	CustomerDynamic                 CustomerDynamicItem `json:"customer_dynamic_arr"`
	Score                           float64             `json:"_score"`
	CreditLevelLabel                string              `json:"credit_level_label"`
	BidCntWithArea2Year             int32               `json:"bid_cnt_with_area_2year"`
	LandCntWithArea2Year            int32               `json:"land_cnt_with_area_2year"`
	CommencePermitCntWithArea2Year  int32               `json:"commence_permit_cnt_with_area_2year"`
	SellProjectCntWithArea2Year     int32               `json:"sell_project_cnt_with_area_2year"`
	CooperationCaseCntWithArea2Year int32               `json:"cooperation_case_cnt_with_area_2year"`
	// 上面是列表页用到的字段
	//---分割线---
	// 下面是详情页比列表页多出来的字段
	Scope                    string  `json:"scope"`
	CompanyProfile           string  `json:"company_profile"`
	EnterpriseNature         string  `json:"enterprise_nature"`
	TermStart                string  `json:"term_start"`
	TermEnd                  string  `json:"term_end"`
	RecCapi                  float64 `json:"rec_capi"`
	RecCapiUnit              string  `json:"rec_capi_unit"`
	NumberOfEmployees        string  `json:"number_of_employees"`
	Address                  string  `json:"address"`
	BidNum                   int32   `json:"bid_num"`
	TakeLandCnt              int32   `json:"take_land_cnt"`
	CommencePermitCnt        int32   `json:"commence_permit_cnt"`
	SellProjectCnt           int32   `json:"sell_project_cnt"`
	CooperationEnterpriseNum int32   `json:"cooperation_enterprise_num"`
	CooperationProjectNum    int32   `json:"cooperation_project_num"`
	PhoneNumber              string  `json:"phone_number"`
}

type FuzzySearchRequest struct {
	Keyword string `json:"keyword"`
}

type FuzzySearchResponse struct {
	Success   bool               `json:"success"`
	Message   string             `json:"message"`
	ErrorCode string             `json:"errorCode"`
	Data      []*FuzzySearchItem `json:"data"`
}

type FuzzySearchItem struct {
	CompanyName      string `json:"company_name"`
	CompanyNameHl    string `json:"company_nameHL"`
	OldCompanyNameHl string `json:"old_company_nameHL"`
}

type GetProjectListRequest struct {
	Keyword                string `json:"keyword"`
	OrganizingCode         string `json:"organizing_code"`
	AreaCode               string `json:"area_code"`
	CompanyAreaCode        string `json:"company_area_code"`
	LandUsage              string `json:"land_usage"`
	ProjectType            string `json:"project_type"`
	FitmentFee             string `json:"fitment_fee"`
	CompanyType            string `json:"company_type"`
	CompanyLabel           string `json:"company_label"`
	IndustryCategory       string `json:"industry_category"`
	ProjectPriceGtAvgLabel string `json:"project_price_gt_avg_label"`
	TakeLandDateStart      string `json:"take_land_date_start"`
	TakeLandDateEnd        string `json:"take_land_date_end"`
	ProjectDateStart       string `json:"project_date_start"`
	ProjectDateEnd         string `json:"project_date_end"`
	BuildingDateStart      string `json:"building_date_start"`
	BuildingDateEnd        string `json:"building_date_end"`
	OpenDateStart          string `json:"open_date_start"`
	OpenDateEnd            string `json:"open_date_end"`
	CompletedDateStart     string `json:"completed_date_start"`
	CompletedDateEnd       string `json:"completed_date_end"`
	Page                   int32  `json:"page"`
	PageSize               int32  `json:"page_size"`
}

type GetProjectListResponse struct {
	Success   bool                `json:"success"`
	Message   string              `json:"message"`
	ErrorCode string              `json:"errorCode"`
	Data      *GetProjectListData `json:"data"`
}
type GetProjectListData struct {
	Total int32                 `json:"total"`
	List  []*GetProjectListItem `json:"list"`
}
type GetProjectListItem struct {
	ID                       string              `json:"id"`
	Title                    string              `json:"title"`
	ProjectStageLatest       string              `json:"project_stage_latest"`
	DeveloperName            string              `json:"developer_name"`
	OrganizingCode           string              `json:"organizing_code"`
	CompanyType              string              `json:"company_type"`
	TopCompanyName           string              `json:"top_company_name"`
	TopCompanyOrganizingCode string              `json:"top_company_organizing_code"`
	Province                 string              `json:"province"`
	ProvinceCode             string              `json:"province_code"`
	City                     string              `json:"city"`
	CityCode                 string              `json:"city_code"`
	CompanyProvince          string              `json:"company_province"`
	CompanyProvinceCode      string              `json:"company_province_code"`
	CompanyCity              string              `json:"company_city"`
	CompanyCityCode          string              `json:"company_city_code"`
	Address                  string              `json:"address"`
	CompanyLabelArr          []LabelData         `json:"company_label_arr"`
	IndustryCategoryBig      string              `json:"industry_category_big"`
	IndustryCategoryMiddle   string              `json:"industry_category_middle"`
	IndustryCategorySmall    string              `json:"industry_category_small"`
	LandUsageLabelArr        []LabelData         `json:"land_usage_label_arr"`
	ProjectTypeLabelArr      []LabelData         `json:"project_type_label_arr"`
	FitmentFeeLabelArr       []LabelData         `json:"fitment_fee_label_arr"`
	PriceGtAvgLabel          string              `json:"price_gt_avg_label"`
	ProjectPriceGtAvgLabel   string              `json:"Project_price_gt_avg_label"`
	LandInfoArr              []LandInfoArr       `json:"land_info_arr"`
	LandInfoCnt              int32               `json:"land_info_cnt"`
	ApprovalInfoArr          []ApprovalInfoArr   `json:"approval_info_arr"`
	ApprovalInfoCnt          int32               `json:"approval_info_cnt"`
	BuildingInfoArr          []BuildingInfoArr   `json:"building_info_arr"`
	BuildingInfoCnt          int32               `json:"building_info_cnt"`
	OpeningInfoArr           []OpeningInfoArr    `json:"opening_info_arr"`
	OpeningInfoCnt           int32               `json:"opening_info_cnt"`
	CompletionInfoArr        []CompletionInfoArr `json:"completion_info_arr"`
	CompletionInfoCnt        int32               `json:"completion_info_cnt"`
	BiddingInfoArr           []BiddingInfoArr    `json:"bidding_info_arr"`
	BiddingInfoCnt           int32               `json:"bidding_info_cnt"`
	OrderDate                string              `json:"order_date"`
	PurchaseContactCnt       int32               `json:"purchase_contact_cnt"`
	CoopSupplierContactCnt   int32               `json:"coop_supplier_contact_cnt"`
	ProjectBaseInfoCnt       int32               `json:"project_base_info_cnt"`
	TitleHL                  string              `json:"titleHL"`
	DeveloperNameHL          string              `json:"developer_nameHL"`
	LandInfoArrTitleHL       string              `json:"land_info_arr.titleHL"`
	BuildingInfoArrTitleHL   string              `json:"building_info_arr.titleHL"`
	CompletionInfoArrTitleHL string              `json:"completion_info_arr.titleHL"`
	ApprovalInfoArrTitleHL   string              `json:"approval_info_arr.titleHL"`
	OpeningInfoArrTitleHL    string              `json:"opening_info_arr.titleHL"`
	Score                    float32             `json:"_score"`
	LandTitleHL              string              `json:"land_title_HL"`
	OpeningTitleHL           string              `json:"opening_title_HL"`
	BuildTitleHL             string              `json:"build_title_HL"`
}
type LandInfoArr struct {
	TakeLandDate string `json:"take_land_date"`
	Title        string `json:"title"`
}
type ApprovalInfoArr struct {
	Title       string `json:"title"`
	ProjectDate string `json:"project_date"`
}
type BuildingInfoArr struct {
	BuildingDate string `json:"building_date"`
	Title        string `json:"title"`
}
type OpeningInfoArr struct {
	Title       string `json:"title"`
	OpeningDate string `json:"opening_date"`
}
type CompletionInfoArr struct {
	Title         string `json:"title"`
	CompletedDate string `json:"completed_date"`
}
type BiddingInfoArr struct {
	Id          string `json:"id"`
	Title       string `json:"title"`
	Type        string `json:"type"`
	PublishDate string `json:"publish_date"`
}

type LabelData struct {
	Label string `json:"label"`
}

type FuzzySearchProjectRequest struct {
	Keyword string `json:"keyword"`
}
type FuzzySearchProjectResponse struct {
	Success   bool                      `json:"success"`
	Message   string                    `json:"message"`
	ErrorCode string                    `json:"errorCode"`
	Data      []*FuzzySearchProjectItem `json:"data"`
}
type FuzzySearchProjectItem struct {
	TitleHL string `json:"titleHL"`
	Title   string `json:"title"`
}

type SearchBidRequest struct {
	Keyword          string `json:"keyword"`
	SearchType       string `json:"search_type"`
	Id               string `json:"id"`
	SubId            string `json:"sub_id"`
	AreaCode         string `json:"area_code"`
	CompanyAreaCode  string `json:"company_area_code"`
	Type             string `json:"type"`
	DataSourceCode   string `json:"data_source_code"`
	CompanyType      string `json:"company_type"`
	CompanyLabel     string `json:"company_label"`
	PublishDateStart string `json:"publish_date_start"`
	PublishDateEnd   string `json:"publish_date_end"`
	EndDateStart     string `json:"end_date_start"`
	EndDateEnd       string `json:"end_date_end"`
	OrganizingCode   string `json:"organizing_code"`
	Page             int32  `json:"page"`
	PageSize         int32  `json:"page_size"`
}
type SearchBidResponse struct {
	Success   bool           `json:"success"`
	Message   string         `json:"message"`
	ErrorCode string         `json:"errorCode"`
	Data      *SearchBidData `json:"data"`
}
type SearchBidData struct {
	Total int32            `json:"total"`
	List  []*SearchBidItem `json:"list"`
}
type SearchBidItem struct {
	Id                                 string                 `json:"id"`
	Type                               string                 `json:"type"`
	Title                              string                 `json:"title"`
	DeveloperName                      string                 `json:"developer_name"`
	OrganizingCode                     string                 `json:"organizing_code"`
	TopCompanyName                     string                 `json:"top_company_name"`
	TopCompanyOrganizingCode           string                 `json:"top_company_organizing_code"`
	ProjectProvince                    []*ProjectProvinceInfo `json:"project_province"`
	CompanyType                        string                 `json:"company_type"`
	CompanyProvince                    string                 `json:"company_province"`
	CompanyProvinceCode                string                 `json:"company_province_code"`
	CompanyCity                        string                 `json:"company_city"`
	CompanyCityCode                    string                 `json:"company_city_code"`
	CompanyLabelArr                    []*LabelData           `json:"company_label_arr"`
	PublishDate                        string                 `json:"publish_date"`
	EndDate                            string                 `json:"end_date"`
	DataSourceCode                     string                 `json:"data_source_code"`
	PurchaseContactCnt                 int32                  `json:"purchase_contact_cnt"`
	CoopSupplierContactCnt             int32                  `json:"coop_supplier_contact_cnt"`
	TitleHL                            string                 `json:"titleHL"`
	DeveloperNameHL                    string                 `json:"developer_nameHL"`
	FirstWinbidSupplierName            string                 `json:"first_winbid_supplier_name"`
	FirstWinbidSupplierOrganizingCode  string                 `json:"first_winbid_supplier_organizing_code"`
	FirstWinbidSupplierNameHL          string                 `json:"first_winbid_supplier_nameHL"`
	FirstWinbidSupplierContactCnt      int32                  `json:"first_winbid_supplier_contact_cnt"`
	SecondWinbidSupplierName           string                 `json:"second_winbid_supplier_name"`
	SecondWinbidSupplierOrganizingCode string                 `json:"second_winbid_supplier_organizing_code"`
	SecondWinbidSupplierNameHL         string                 `json:"second_winbid_supplier_nameHL"`
	SecondWinbidSupplierContactCnt     int32                  `json:"second_winbid_supplier_contact_cnt"`
	ThirdWinbidSupplierName            string                 `json:"third_winbid_supplier_name"`
	ThirdWinbidSupplierOrganizingCode  string                 `json:"third_winbid_supplier_organizing_code"`
	ThirdWinbidSupplierNameHL          string                 `json:"third_winbid_supplier_nameHL"`
	ThirdWinbidSupplierContactCnt      int32                  `json:"third_winbid_supplier_contact_cnt"`
	OwnerContactInfo                   string                 `json:"owner_contact_info"`
	Link                               string                 `json:"link"`
	PurchaseAmount                     float32                `json:"purchase_amount"`
	BiddingServiceCategory             string                 `json:"bidding_service_category"`
	XScore                             float32                `json:"_score"`
}
type ProjectProvinceInfo struct {
	Province     string `json:"province"`
	ProvinceCode string `json:"province_code"`
	City         string `json:"city"`
	CityCode     string `json:"city_code"`
}

type FuzzySearchBidRequest struct {
	Keyword    string `json:"keyword"`
	SearchType string `json:"search_type"`
}
type FuzzySearchBidResponse struct {
	Success   bool                  `json:"success"`
	Message   string                `json:"message"`
	ErrorCode string                `json:"errorCode"`
	Data      []*FuzzySearchBidItem `json:"data"`
}
type FuzzySearchBidItem struct {
	TitleHL string `json:"titleHL"`
	Title   string `json:"title"`
}

type SaleListRequest struct {
	Keyword                 string `json:"keyword"`
	Area                    string `json:"area"`
	CompanyArea             string `json:"company_area"`
	CompanyType             string `json:"company_type"`
	IsPriceGtAvg            string `json:"is_price_gt_avg"`
	FitmentFeeLabel         string `json:"fitment_fee_label"`
	PropertyCategoryLabel   string `json:"property_category_label"`
	OpeningTimeStart        string `json:"opening_time_start"`
	OpeningTimeEnd          string `json:"opening_time_end"`
	DeliveryTimeStart       string `json:"delivery_time_start"`
	DeliveryTimeEnd         string `json:"delivery_time_end"`
	DeveloperTop100Label    string `json:"developer_top_100_label"`
	NewDecorateExpandLabel  string `json:"new_decorate_expand_label"`
	NewLandUsageExpandLabel string `json:"new_land_usage_expand_label"`
	NewAreaExpandLabel      string `json:"new_area_expand_label"`
	PriceGtAvgLabel         string `json:"price_gt_avg_label"`
	UrbanInvestmentLabel    string `json:"urban_investment_label"`
	OrganizingCode          string `json:"organizing_code"`
	Page                    int32  `json:"page"`
	PageSize                int32  `json:"page_size"`
}
type SaleListResponse struct {
	Success   bool          `json:"success"`
	Message   string        `json:"message"`
	ErrorCode string        `json:"errorCode"`
	Data      *SaleListData `json:"data"`
}
type SaleListData struct {
	Total int32           `json:"total"`
	List  []*SaleListItem `json:"list"`
}
type SaleListItem struct {
	City                  string  `json:"city"`
	OrganizingCode        string  `json:"organizing_code"`
	DeveloperName         string  `json:"developer_name"`
	CityCode              string  `json:"city_code"`
	DeliveryTime          string  `json:"delivery_time"`
	PropertyCategoryLabel string  `json:"property_category_label"`
	ProvinceCode          string  `json:"province_code"`
	Province              string  `json:"province"`
	IsPriceGtAvg          string  `json:"is_price_gt_avg"`
	Price                 int     `json:"price"`
	NewAreaExpandLabel    string  `json:"new_area_expand_label"`
	FitmentFeeLabel       string  `json:"fitment_fee_label"`
	Id                    string  `json:"id"`
	OpeningTime           string  `json:"opening_time"`
	ProjectTitle          string  `json:"project_title"`
	CompanyTypeLabel      string  `json:"company_type_label"`
	NewHouseOnNum         float32 `json:"new_house_on_num"`
	NewHouseDealNum       float32 `json:"new_house_deal_num"`
	NewHouseDealMoney     float32 `json:"new_house_deal_money"`
	NewHouseSaleRate      float32 `json:"new_house_sale_rate"`
	Address               string  `json:"address"`
	SellStatus            string  `json:"sell_status"`
	DeveloperNameHL       string  `json:"developer_nameHL"`
	ProjectTitleHL        string  `json:"project_titleHL"`
}
type BuildListRequest struct {
	Keyword                 string `json:"keyword"`
	Area                    string `json:"area"`
	CompanyArea             string `json:"company_area"`
	CompanyType             string `json:"company_type"`
	IsPriceGtAvg            string `json:"is_price_gt_avg"`
	PrjTypeNum              string `json:"prj_type_num"`
	PrjPropertyNum          string `json:"prj_property_num"`
	StartDateStart          string `json:"start_date_start"`
	StartDateEnd            string `json:"start_date_end"`
	CompleteDateStart       string `json:"complete_date_start"`
	CompleteDateEnd         string `json:"complete_date_end"`
	DeveloperTop100Label    string `json:"developer_top_100_label"`
	NewDecorateExpandLabel  string `json:"new_decorate_expand_label"`
	NewLandUsageExpandLabel string `json:"new_land_usage_expand_label"`
	NewAreaExpandLabel      string `json:"new_area_expand_label"`
	PriceGtAvgLabel         string `json:"price_gt_avg_label"`
	UrbanInvestmentLabel    string `json:"urban_investment_label"`
	OrganizingCode          string `json:"organizing_code"`
	Page                    int32  `json:"page"`
	PageSize                int32  `json:"page_size"`
}
type BuildListResponse struct {
	Success   bool           `json:"success"`
	Message   string         `json:"message"`
	ErrorCode string         `json:"errorCode"`
	Data      *BuildListData `json:"data"`
}
type BuildListData struct {
	Total int32            `json:"total"`
	List  []*BuildListItem `json:"list"`
}
type BuildListItem struct {
	Id                     string  `json:"id"`
	PrjName                string  `json:"prj_name"`
	PrjTypeNum             string  `json:"prj_type_num"`
	Province               string  `json:"province"`
	ProvinceCode           string  `json:"province_code"`
	City                   string  `json:"city"`
	CityCode               string  `json:"city_code"`
	County                 string  `json:"county"`
	Address                string  `json:"address"`
	BuildCorpName          string  `json:"build_corp_name"`
	OrganizingCode         string  `json:"organizing_code"`
	CompanyTypeLabel       string  `json:"company_type_label"`
	TopDeveloperName       string  `json:"top_developer_name"`
	TopOrganizingCode      string  `json:"top_organizing_code"`
	TopCompanyTypeLabel    string  `json:"top_company_type_label"`
	AllInvest              float32 `json:"all_invest"`
	AllArea                float32 `json:"all_area"`
	PrjPropertyNum         string  `json:"prj_property_num"`
	StartDate              string  `json:"start_date"`
	CompleteDate           string  `json:"complete_date"`
	ConscorpName           string  `json:"conscorp_name"`
	ConscorpOrganizingCode string  `json:"conscorp_organizing_code"`
	IsPriceGtAvg           string  `json:"is_price_gt_avg"`
	PrjNameHL              string  `json:"prj_nameHL"`
	BuildCorpNameHL        string  `json:"build_corp_nameHL"`
	StartDateType          string  `json:"start_date_type"`
}

type TakeLandListRequest struct {
	Keyword                 string `json:"keyword"`
	OrganizingCode          string `json:"organizing_code"`
	LandType                string `json:"land_type"`
	Area                    string `json:"area"`
	TakeLandDateStart       string `json:"take_land_date_start"`
	TakeLandDateEnd         string `json:"take_land_date_end"`
	AreaLower               int32  `json:"area_lower"`
	AreaUpper               int32  `json:"area_upper"`
	LandPriceLower          int32  `json:"land_price_lower"`
	LandPriceUpper          int32  `json:"land_price_upper"`
	IsPriceGtAvg            string `json:"is_price_gt_avg"`
	CompanyArea             string `json:"company_area"`
	CompanyType             string `json:"company_type"`
	DeveloperTop100Label    string `json:"developer_top_100_label"`
	NewDecorateExpandLabel  string `json:"new_decorate_expand_label"`
	NewLandUsageExpandLabel string `json:"new_land_usage_expand_label"`
	NewAreaExpandLabel      string `json:"new_area_expand_label"`
	PriceGtAvgLabel         string `json:"price_gt_avg_label"`
	UrbanInvestmentLabel    string `json:"urban_investment_label"`
	Page                    int32  `json:"page"`
	PageSize                int32  `json:"page_size"`
}

type TakeLandListResponse struct {
	Success   bool              `json:"success"`
	Message   interface{}       `json:"message"`
	ErrorCode interface{}       `json:"errorCode"`
	Data      *TakeLandListData `json:"data"`
}

type TakeLandListData struct {
	Total int32           `json:"total"`
	List  []*TakeLandItem `json:"list"`
}

type TakeLandItem struct {
	PurchaseDemandCnt             int          `json:"purchase_demand_cnt"`
	DeveloperName                 string       `json:"developer_name"`
	DeveloperNameHl               string       `json:"developer_nameHL"`
	ProjectName                   string       `json:"project_name"`
	ProvinceCode                  string       `json:"province_code"`
	LandUsage                     string       `json:"land_usage"`
	Province                      string       `json:"province"`
	PulsarTime                    string       `json:"pulsar_time"`
	CompanyProvinceCode           string       `json:"company_province_code"`
	NewAreaExpandLabel            string       `json:"new_area_expand_label"`
	Id                            string       `json:"id"`
	SourceUpdateTime              string       `json:"source_update_time"`
	PriceGtAvgLabel               string       `json:"price_gt_avg_label"`
	Lat                           float64      `json:"lat"`
	DeveloperId                   string       `json:"developer_id"`
	Lng                           float64      `json:"lng"`
	NewDecorateExpandLabel        string       `json:"new_decorate_expand_label"`
	LandAddress                   string       `json:"land_address"`
	LandUsageLabel                []*LabelData `json:"land_usage_label"`
	UseTimeDescription            string       `json:"use_time_description"`
	Authority                     string       `json:"authority"`
	CompanyTypeLabel              string       `json:"company_type_label"`
	PlannedArea                   string       `json:"planned_area"`
	Region                        string       `json:"region"`
	CompanyCityCode               string       `json:"company_city_code"`
	InfoType                      string       `json:"info_type"`
	LandSource                    string       `json:"land_source"`
	City                          string       `json:"city"`
	TakeLandDate                  string       `json:"take_land_date"`
	OrganizingCode                string       `json:"organizing_code"`
	CityCode                      string       `json:"city_code"`
	CreatedAt                     string       `json:"created_at"`
	Industry                      string       `json:"industry"`
	AllArea                       float64      `json:"all_area"`
	LandTitle                     string       `json:"land_title"`
	LandTitleHl                   string       `json:"land_titleHL"`
	Uid                           string       `json:"uid"`
	IsDeleted                     int          `json:"is_deleted"`
	IssueDate                     string       `json:"issue_date"`
	IsPriceGtAvg                  string       `json:"is_price_gt_avg"`
	UpdatedAt                     string       `json:"updated_at"`
	UrbanInvestmentLabel          string       `json:"urban_investment_label"`
	SrcUid                        string       `json:"src_uid"`
	DeveloperLogo                 string       `json:"developer_logo"`
	LandLevel                     string       `json:"land_level"`
	TakeLandPrice                 float64      `json:"take_land_price"`
	DeveloperTop100Label          string       `json:"developer_top_100_label"`
	CooperationEnterpriseCnt1Year int          `json:"cooperation_enterprise_cnt_1year"`
	LandUnitPrice                 float64      `json:"land_unit_price"`
	NewLandUsageExpandLabel       string       `json:"new_land_usage_expand_label"`
	LandUnitPriceAvg              float64      `json:"land_unit_price_avg"`
	TradeType                     string       `json:"trade_type"`
	PurchaseDemandCnt1Year        int          `json:"purchase_demand_cnt_1year"`
	CooperationEnterpriseCnt      int          `json:"cooperation_enterprise_cnt"`
	NameSuggest                   string       `json:"nameSuggest"`
	DeliverDate                   string       `json:"deliver_date"`
	BuildStartPlan                string       `json:"build_start_plan"`
	BuildEndPlan                  string       `json:"build_end_plan"`
	TopDeveloperName              string       `json:"top_developer_name"`
	TopDeveloperOrganizingCode    string       `json:"top_developer_organizing_code"`
}
